package com.example.zzh.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 功能描述
 *
 * @author: ZhangZhenHao
 * @date: 2023年08月25日 16:48
 */
@Data
public class ZzhOrder {
    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "类型(出库/入库)")
    private String type;

    @ApiModelProperty(value = "出入库分类")
    private String subType;

    @ApiModelProperty(value = "票据号")
    private String number;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "出入库时间")
    private LocalDateTime operTime;

    @ApiModelProperty(value = "供应商id")
    private Long organId;

    @ApiModelProperty(value = "供应商名称")
    private String organName;

    @ApiModelProperty(value = "操作员Id")
    private Long creator;

    @ApiModelProperty(value = "操作员名称")
    private String creatorName;

    @ApiModelProperty(value = "账户id")
    private Long accountId;

    @ApiModelProperty(value = "变动金额(收款/付款)")
    private BigDecimal changeAmount;

    @ApiModelProperty(value = "找零金额")
    private BigDecimal backAmount;

    @ApiModelProperty(value = "付款类型(现金、记账等)")
    private String payType;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "附件名称")
    private String fileName;

    @ApiModelProperty(value = "优惠率")
    private BigDecimal discount;

    @ApiModelProperty(value = "优惠金额")
    private BigDecimal discountMoney;

    @ApiModelProperty(value = "优惠后金额")
    private BigDecimal discountLastMoney;

    @ApiModelProperty(value = "状态，0未审核、1已审核、2完成采购|销售、3部分采购|销售、9审核中")
    private String status;

    @ApiModelProperty(value = "单据来源，0-pc，1-手机")
    private String source;

    @ApiModelProperty(value = "关联订单号")
    private String linkNumber;

    @ApiModelProperty(value = "删除标记，0未删除，1删除")
    private String deleteFlag;

    @ApiModelProperty(value = "商品Id")
    private Long materialId;

    @ApiModelProperty(value = "商品详情")
    private String materialName;

    @ApiModelProperty(value = "商品计量单位")
    private String materialUnit;

    @ApiModelProperty(value = "数量")
    private BigDecimal operNumber;

    @ApiModelProperty(value = "基础数量，如kg、瓶")
    private BigDecimal basicNumber;

    @ApiModelProperty(value = "单价")
    private BigDecimal unitPrice;

    @ApiModelProperty(value = "金额")
    private BigDecimal allPrice;

    @ApiModelProperty(value = "仓库ID")
    private Long depotId;

    @ApiModelProperty(value = "调拨时，对方仓库Id")
    private Long anotherDepotId;

    @ApiModelProperty(value = "税率")
    private BigDecimal taxRate;

    @ApiModelProperty(value = "税额")
    private BigDecimal taxMoney;

    @ApiModelProperty(value = "价税合计")
    private BigDecimal taxLastMoney;

    @ApiModelProperty(value = "商品条码")
    private String barCode;

    @ApiModelProperty(value = "当前库存数量")
    private BigDecimal currentNumber;

    @ApiModelProperty(value = "最低安全库存数量")
    private BigDecimal lowNumber;

    @ApiModelProperty(value = "最高安全库存数量")
    private BigDecimal highNumber;

    @ApiModelProperty(value = "商品库存列表")
    private List<ZzhProductStock> zzhProductStock;

}
